﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;

namespace StreetlightGames.XnaEngine
{
    public class GameEngine3D
    {
        /// <summary>Gets the Instance value</summary>
        public static GameEngine3D Instance
        {
            get { return _instance; }
        }
        private static GameEngine3D _instance = new GameEngine3D();

        /// <summary>Gets the Game value</summary>
        public Game Game
        {
            get { return _game; }
        }
        private Game _game;
        
        /// <summary>Gets or sets the Camera value</summary>
        public Camera Camera
        {
            get { return _camera; }
            set { _camera = value; }
        }
        private Camera _camera;

        /// <summary>Gets the GraphicsDeviceManager value</summary>
        public GraphicsDeviceManager GraphicsDeviceManager
        {
            get { return _graphicsDeviceManager; }
        }
        private GraphicsDeviceManager _graphicsDeviceManager;

        public GameEngine3D()
        {
        }

        protected void Initialize(Game game)
        {
            _game = game;
            _graphicsDeviceManager = new GraphicsDeviceManager(game);
            _camera = new Camera(game);
        }
    }
}
